#define _CRT_SECURE_NO_WARNINGS

#include "vector.h"

//int main()
//{
//	TL::vector<int> v = { 2, 3, 43, 32, 2 };
//	v.push_back(3);
//	//cout << v.size() << endl;
//	//cout << v.capacity() << endl;
//	for (size_t i = 0; i < v.size(); i++)
//	{
//		cout << v[i] << " ";
//	}
//	cout << endl;
//	v.resize(8, 2);
//	for (size_t i = 0; i < v.size(); i++)
//	{
//		cout << v[i] << " ";
//	}
//	cout << endl;
//	cout << v.front() << endl;
//	cout << v.back() << endl;
//	return 0;
//}
//
//int main()
//{
//	TL::vector<int> v = { 1,2,23, 23, 2,2,35,35,32,1,9 };
//	for (auto e : v)
//		cout << e << " ";
//	cout << endl;
//	auto rit = v.rbegin();
//	while (rit != v.rend())
//	{
//		cout << *rit << " ";
//		rit++;
//	}
//	return 0;
//}

//int main()
//{
//	TL::vector<int> v = { 2, 3, 4 };
//	TL::vector<int> v2 = v;
//	TL::vector<int> v3;
//	v3 = v2;
//	return 0;
//}

int main()
{
	TL::vector<int> v = { 1, 2, 3, 4 };
	//TL::vector<int>::iterator it = &v[2];
	//v.erase(v.end() -1);
	//v.insert(it, 100, -1);
	/*for (auto e : v)
		cout << e << " ";*/
	auto it = v.begin();
	while(it != v.end())
	{

		if (*it == 4)
		{
			it = v.erase(it);
		}
		else
		{
			cout << *it << endl;
			it++;

		}
	}
	cout << endl;
	for (auto e : v)
		cout << e << " ";
	return 0;
}